home *** CD-ROM | disk | FTP | other *** search
/ Aminet 12 / Aminet 12 (1996)(GTI - Schatztruhe)[!][Jun 1996].iso / Aminet / dev / e / framework.lha / fw / wbARexxHost.e < prev    next >
Encoding:
Text File  |  1996-01-29  |  901 b   |  45 lines

  1.  
  2. -> wbARexxHost is an abstraction of Rexx language Host.
  3.  
  4. -> Copyright © Guichard Damien 01/04/1996
  5.  
  6. OPT MODULE
  7. OPT EXPORT
  8.  
  9. MODULE 'exec/nodes','rexx/storage','rexxsyslib'
  10. MODULE 'fw/wbObject','fw/wbMessagePort'
  11.  
  12. OBJECT wbARexxHost OF wbMessagePort
  13. ENDOBJECT
  14.  
  15. -> Create an ARexx Host.
  16. -> Return FALSE if failed.
  17. PROC create(name) OF wbARexxHost HANDLE
  18.   IF rexxsysbase=NIL THEN Raise(0)
  19.   Forbid()
  20.   IF FindPort(name)
  21.     Permit()
  22.     Raise(0)
  23.   ENDIF
  24.   Permit()
  25.   IF self.makePort()=FALSE THEN Raise(0)
  26.   PutLong(self.port+10,name)
  27.   AddPort(self.port)
  28.   RETURN TRUE
  29. EXCEPT
  30.   self.remove()
  31. ENDPROC FALSE
  32.  
  33. -> Handle the receipt of a REXX message.
  34. PROC handleMessage(msg:PTR TO rexxmsg) OF wbARexxHost
  35. ENDPROC PASS
  36.  
  37. -> Handle the receipt of QUIT command.
  38. PROC handleQuit() OF wbARexxHost IS STOPALL
  39.  
  40. -> Remove the ARexx Host.
  41. PROC remove() OF wbARexxHost
  42.   IF self.port THEN self.deletePort()
  43. ENDPROC
  44.  
  45.